A storage drive typically has nonvolatile storage memory which retains data stored in the nonvolatile storage memory notwithstanding a power loss to the storage drive. However, to increase system performance, storage drives frequently also employ a relatively fast volatile buffer memory in which write data to the storage drive is initially stored before it is subsequently transferred to the nonvolatile storage memory. Thus the storage drive may report to the host that a write request (also referred to as a write operation) has been completed notwithstanding that the “completed-to-host” write data has only been written to a volatile buffer memory of the storage drive. Since completed-to-host write data which has stored only in the volatile buffer memory may be lost in the event power to the storage device is interrupted, storage drives employing volatile buffer memory often have a “flush” capability in which applications can issue a flush command to the storage drive to cause any write data not yet transferred to the nonvolatile storage memory, to be flushed, that is transferred to the nonvolatile storage memory to ensure that the data is safely stored in nonvolatile storage memory.
New data stored in the volatile buffer memory is often referred to as “dirty” data if the new data has not yet been transferred to the nonvolatile storage memory at the appropriate address. Similarly new data stored in the volatile buffer memory is “dirty” data if it is an updated version of an earlier version which has been transferred to the nonvolatile storage memory.